Lightweight Run-Time Code Generation
نویسندگان
چکیده
Run time code generation is an alternative and complement to compile time program analysis and optimization Static analyses are inherently imprecise because most interesting aspects of run time behavior are uncomputable By defer ring aspects of compilation to run time more precise infor mation about program behavior can be exploited leading to greater opportunities for code improvement The cost of performing optimization at run time is of paramount importance since it must be repaid by improved performance in order to obtain an overall speedup This pa per describes a lightweight approach to run time code gen eration called deferred compilation in which compile time specialization is employed to reduce the cost of optimizing and generating code at run time Implementation strategies developed for a prototype compiler are discussed and the results of preliminary experiments demonstrating signi cant overall speedup are presented
منابع مشابه
InfoFabric: Adaptive Services in Distributed Embedded Systems
The key problems addressed by this work are: (1) how to run high-end applications on embedded systems, (2) how to provide high levels of flexibility in how, where, and when necessary processing and communication actions are performed, and (3) how to continuously meet end-user needs despite run-time variations in service locations, platform capabilities, and user requirements. Our approach addre...
متن کاملdeGoal a Tool to Embed Dynamic Code Generators into Applications
The processing applications that are now being used in mobile and embedded platforms require at the same time a fair amount of processing power and a high level of flexibility, due to the nature of the data to process. In this context we propose a lightweight code generation technique that is able to perform data dependent optimizations at run-time for processing kernels. In this paper we prese...
متن کاملService Morphing: Integrated System- and Application-Level Service Adaptation in Autonomic Systems
Service morphing is a set of techniques used to continuously meet an application’s Quality of Service (QoS) needs, in the presence of run-time variations in service locations, platform capabilities, or end-user needs. These techniques provide high levels of flexibility in how, when, and where necessary processing and communication actions are performed. Lightweight middleware supports flexibili...
متن کاملService Morphing: Integrated System- and Application-Level Service
Service morphing is a set of techniques used to continuously meet an application’s Quality of Service (QoS) needs, in the presence of run-time variations in service locations, platform capabilities, or end-user needs. These techniques provide high levels of flexibility in how, when, and where necessary processing and communication actions are performed. Lightweight middleware supports flexibili...
متن کاملtcc: A Template-Based Compiler for ‘C
Dynamic code generation is an important technique for improving the performance of software by exploiting information known only at run time. ‘C (Tick C) is a superset of ANSI C that, unlike most prior systems, allows high-level, efficient, and machineindependent specification of dynamically generated code. ‘C provides facilities for dynamic code generation within the context of a statically ty...
متن کامل